package com.ls.lserp.modules.purchase.dao;

import java.util.List;

import com.ls.lserp.common.persistence.CrudDao;
import com.ls.lserp.common.persistence.annotation.MyBatisDao;
import com.ls.lserp.modules.material.entity.InventoryRequest;
import com.ls.lserp.modules.purchase.entity.PurchaseRequest;

@MyBatisDao
public interface PurchaseRequestDao extends CrudDao<PurchaseRequest>{
	
	/**
	  * @Title: findInventoryRequestDetailList
	  * @Description: 库存申请
	  * @param @param purchaseRequest
	  * @param @return
	  * @return List<PurchaseRequest> 
	  * @throws
	  */
	public List<PurchaseRequest> findInventoryRequestDetailList(PurchaseRequest purchaseRequest);
	
	/**
	 * 入库申请单
	 * @param inventoryRequest
	 * @return
	 */
	public int insertInventoryRequest(PurchaseRequest purchaseRequest);
	
	/**
	 * 入库申请单详细
	 * @param inventoryRequest
	 * @return
	 */
	public int insertInventoryRequestDetails(PurchaseRequest purchaseRequest);
	
	/**
	  * @Title: deleteRequestDetails
	  * @Description: 物理删除入库申请明细
	  * @param @param inventoryRequest
	  * @param @return
	  * @return int 
	  * @throws
	  */
	public int deleteRequestDetails(PurchaseRequest purchaseRequest);
	
	/**
	  * @Title: updateInventoryRequest
	  * @Description: 更新入库申请
	  * @param @param inventoryRequest
	  * @param @return
	  * @return int 
	  * @throws
	  */
	public int updateInventoryRequest(PurchaseRequest purchaseRequest);
	
	/**
	  * @Title: updateInventoryRequest
	  * @Description: 更新合同明细状态
	  * @param @param inventoryRequest
	  * @param @return
	  * @return int 
	  * @throws
	  */
	public int updateContractDetailStatus(PurchaseRequest purchaseRequest);
	
	/**
	  * @Title: findRequestDetailsList
	  * @Description: 入库申请明細
	  * @param @param inventoryRequest
	  * @param @return
	  * @return List<InventoryRequest> 
	  * @throws
	  */
	public List<PurchaseRequest> findRequestDetailsList(PurchaseRequest purchaseRequest);
}
